package com.spvs.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.spvs.common.core.annotation.Excel;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 租赁中间对象 equip_lease_between
 *
 * @author supervision
 * @date 2024-06-21
 */
public class EquipLeaseBetweenAPI {
    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */
    private String betweenId;

    /**
     * 租赁出厂编码
     */
    @Excel(name = "租赁出厂编码")
    private String leaseOutNum;

    /**
     * 关联设备id
     */
    @Excel(name = "关联设备id")
    private Long deviceId;

    /**
     * 关联备件id
     */
    @Excel(name = "关联备件id")
    private Long partId;

    /**
     * 设备编码/备品编码
     */
    @Excel(name = "设备编码/备品编码")
    private String equipNum;

    /**
     * 设备名称/备品名称
     */
    @Excel(name = "设备名称/备品名称")
    private String equipName;

    /**
     * 设备型号/备品型号
     */
    @Excel(name = "设备型号/备品型号")
    private String equipModel;

    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private Long number;

    /**
     * 状态（1--在租、2--退租、3--停租、4--续租）
     */
    @Excel(name = "状态", readConverterExp = "1=--在租、2--退租、3--停租、4--续租")
    private Long state;

    /**
     * 租赁开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租赁开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseStartTime;

    /**
     * 停租开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停租开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String leaseStopTime;

    /**
     * 续租开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "续租开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String leaseAddTime;

    /**
     * 停续租时长(天为单位)
     */
    @Excel(name = "停续租时长(天为单位)")
    private Long leaseSuspensionTime;

    /**
     * 租赁结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租赁结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseEndTime;

    /**
     * 实际租赁时长（天为单位  向上取整）
     */
    @Excel(name = "实际租赁时长", readConverterExp = "天=为单位,向=上取整")
    private String actualTime;

    /**
     * 设备系数类型a如液压支架系数=0.18  b采煤机掘进机系数=0.35 c刮板机系数=0.4 d破碎机和转载机系数=0.4
     */
    @Excel(name = "设备系数类型a如液压支架系数=0.18  b采煤机掘进机系数=0.35 c刮板机系数=0.4 d破碎机和转载机系数=0.4")
    private String coefficientType;

    /**
     * 设备原值
     */
    @Excel(name = "设备原值")
    private Long equipValue;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 实际费用
     */
    @Excel(name = "实际费用")
    private BigDecimal actualCost;

    /**
     * 是否备品备件（0-设备  1-备件）
     */
    @Excel(name = "是否备品备件", readConverterExp = "0=-设备,1=-备件")
    private Long type;

    /**
     * 是否退租（0-否 1-是）
     */
    @Excel(name = "是否退租", readConverterExp = "0-否 1-是")
    private Long isQuit;

    /**
     * 批次号
     */
    @Excel(name = "批次号")
    private String batchId;

    /**
     * 仓库id
     */
    @Excel(name = "仓库id(出租单位)")
    private Long wareHouseId;

    /**
     * 新状态
     */
    @Excel(name = " 状态（1--在租、2--退租、3--停租、4--续租）")
    private Long newState;
    /**
     * 停租表id
     */
    private String stopId;
    /**
     * 续租表id
     */
    private String addId;
    /**
     * 退租表id
     */
    private String inId;

    /**
     * 申请单位的仓库id
     */
    private Long applyWareHouseId;


    /**设备日费用*/
    private BigDecimal equipDayCost;

    public String getBetweenId() {
        return betweenId;
    }

    public void setBetweenId(String betweenId) {
        this.betweenId = betweenId;
    }

    public String getLeaseOutNum() {
        return leaseOutNum;
    }

    public void setLeaseOutNum(String leaseOutNum) {
        this.leaseOutNum = leaseOutNum;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Long getPartId() {
        return partId;
    }

    public void setPartId(Long partId) {
        this.partId = partId;
    }

    public String getEquipNum() {
        return equipNum;
    }

    public void setEquipNum(String equipNum) {
        this.equipNum = equipNum;
    }

    public String getEquipName() {
        return equipName;
    }

    public void setEquipName(String equipName) {
        this.equipName = equipName;
    }

    public String getEquipModel() {
        return equipModel;
    }

    public void setEquipModel(String equipModel) {
        this.equipModel = equipModel;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Long getNumber() {
        return number;
    }

    public void setNumber(Long number) {
        this.number = number;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Date getLeaseStartTime() {
        return leaseStartTime;
    }

    public void setLeaseStartTime(Date leaseStartTime) {
        this.leaseStartTime = leaseStartTime;
    }

    public String getLeaseStopTime() {
        return leaseStopTime;
    }

    public void setLeaseStopTime(String leaseStopTime) {
        this.leaseStopTime = leaseStopTime;
    }

    public String getLeaseAddTime() {
        return leaseAddTime;
    }

    public void setLeaseAddTime(String leaseAddTime) {
        this.leaseAddTime = leaseAddTime;
    }

    public Long getLeaseSuspensionTime() {
        return leaseSuspensionTime;
    }

    public void setLeaseSuspensionTime(Long leaseSuspensionTime) {
        this.leaseSuspensionTime = leaseSuspensionTime;
    }

    public Date getLeaseEndTime() {
        return leaseEndTime;
    }

    public void setLeaseEndTime(Date leaseEndTime) {
        this.leaseEndTime = leaseEndTime;
    }

    public String getActualTime() {
        return actualTime;
    }

    public void setActualTime(String actualTime) {
        this.actualTime = actualTime;
    }

    public String getCoefficientType() {
        return coefficientType;
    }

    public void setCoefficientType(String coefficientType) {
        this.coefficientType = coefficientType;
    }

    public Long getEquipValue() {
        return equipValue;
    }

    public void setEquipValue(Long equipValue) {
        this.equipValue = equipValue;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getActualCost() {
        return actualCost;
    }

    public void setActualCost(BigDecimal actualCost) {
        this.actualCost = actualCost;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public Long getIsQuit() {
        return isQuit;
    }

    public void setIsQuit(Long isQuit) {
        this.isQuit = isQuit;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public Long getWareHouseId() {
        return wareHouseId;
    }

    public void setWareHouseId(Long wareHouseId) {
        this.wareHouseId = wareHouseId;
    }

    public Long getNewState() {
        return newState;
    }

    public void setNewState(Long newState) {
        this.newState = newState;
    }

    public String getStopId() {
        return stopId;
    }

    public void setStopId(String stopId) {
        this.stopId = stopId;
    }

    public String getAddId() {
        return addId;
    }

    public void setAddId(String addId) {
        this.addId = addId;
    }

    public String getInId() {
        return inId;
    }

    public void setInId(String inId) {
        this.inId = inId;
    }

    public Long getApplyWareHouseId() {
        return applyWareHouseId;
    }

    public void setApplyWareHouseId(Long applyWareHouseId) {
        this.applyWareHouseId = applyWareHouseId;
    }

    public BigDecimal getEquipDayCost() {
        return equipDayCost;
    }

    public void setEquipDayCost(BigDecimal equipDayCost) {
        this.equipDayCost = equipDayCost;
    }
}
